package com.itheima.service.db;

import com.itheima.domain.OmsMoneyInfoParam;
import com.itheima.domain.OmsOrderReturnReason;
import com.itheima.domain.OmsOrderSetting;
import com.itheima.vo.*;

import java.util.List;

/**
 * <p>
 * 订单表 服务类
 * </p>
 *
 * @author fukeke
 * @since 2022-11-11
 */
public interface IOrderService{
    Boolean orderDelete(Integer[] ids);

    PageBeanVo findOrderList(String createTime, String orderSn, Integer orderType, Integer pageNum, Integer pageSize, String receiverKeyword, Integer sourceType, Integer status);

    Boolean orderClose(Integer[] ids);

    Boolean orderSend(List<OmsOrderVo> deliveryParamList);

    OmsOrderVo orderFindById(Integer id);

    Boolean orderNote(Integer id, String note, Integer status);

    void orderUpdatePeopel(OmsReceiverInfoParam receiverInfoParam);

    PageBeanVo returnApplyByPage(String createTime, String handleMan, String handleTime, Integer id, Integer pageNum, Integer pageSize, String receiverKeyword, Integer status);

    Boolean returnApplyDelete(Integer[] ids);

    OmsOrderReturnApplyVo returnApplyById(Integer id);

    void returnApplyUpdate(Integer id, OmsUpdateStatusParam statusParam);

    void returnReasonSave(OmsOrderReturnReason returnReason);

    PageBeanVo returnReasonByPage(Integer pageNum, Integer pageSize);

    void returnReasonDeleteByIds(Integer[] ids);

    void returnReasonUpdateStatus(Integer[] ids, Integer status);

    void returnReasonUpdateReason(OmsOrderReturnReason returnReason);

    OmsOrderReturnReason returnReasonSelectById(Integer id);

    OmsOrderSetting omsOrderSettingfindById(Integer id);

    void omsOrderSettingUpdate(Integer id, OmsOrderSetting orderSetting);

    void orderUpdateMoney(OmsMoneyInfoParam moneyInfoParam);
}
